//autoUpdater升级

const { autoUpdater } = require('electron-updater');
import {BrowserWindow}  from 'electron'
let isAutoUpdaterInitialized = false; //确保只执行一次
function update(win:BrowserWindow):void {
    if (isAutoUpdaterInitialized) return;
    isAutoUpdaterInitialized = true
    autoUpdater.setFeedURL('http://zyfile.yishoudian.com/mfile/system/ClientVersionPOS'); //升级文件路径(.exe,.blockmap,latest.yml)
   //autoUpdater.setFeedURL('http://39.101.143.18/mfile/system/ClientVersionPOS')
    autoUpdater.forceDevUpdateConfig = true //开发环境设置

    //监听发现可用更新事件
    autoUpdater.on('update-available', (_) => {
        win.webContents.send('ready-to-update')
    })
    //监听没有可用更新事件
    autoUpdater.on('update-not-available', (_) => {
        //console.log('autoUpdater - nothing-to-update!')
        // win.webContents.send('nothing-to-update')

    });
    autoUpdater.autoDownload = true; // 自动下载
    autoUpdater.autoInstallOnAppQuit = true; // 应用退出后自动安装
    autoUpdater.checkForUpdates()

    //下载进度
    autoUpdater.on('download-progress', (prog) => {
        
        win.webContents.send('downloading',{speed:Math.ceil(prog.bytesPerSecond / 1000),percent:Math.ceil(prog.percent)})
      });
      
      // 监听更新下载完成事件，并立即安装
      autoUpdater.on('update-downloaded', (_) => {
        win.webContents.send('downloaded')
        // 立即安装更新并重启应用程序
        autoUpdater.quitAndInstall();
      });
}



export{
    update
} 